package model

import (
	"gorm.io/gorm"
	"time"
)

type Product struct {
	Id        uint           `gorm:"column:id;type:bigint(20) UNSIGNED;comment:商品ID;primaryKey;not null;" json:"id"`                           // 商品ID
	Title     string         `gorm:"column:title;type:varchar(50);comment:商品标题;not null;" json:"title"`                                        // 商品标题
	Price     float64        `gorm:"column:price;type:decimal(10, 2);comment:商品价格;not null;" json:"price"`                                     // 商品价格
	Num       uint           `gorm:"column:num;type:int(11);comment:商品数量;not null;" json:"num"`                                                // 商品数量
	Describe  string         `gorm:"column:describe;type:varchar(50);comment:商品描述;not null;" json:"describe"`                                  // 商品描述
	CreatedAt time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	UpdateAt  time.Time      `gorm:"column:update_at;type:datetime(3);comment:修改时间;not null;default:CURRENT_TIMESTAMP(3);" json:"update_at"`   // 修改时间
	DeleteAt  gorm.DeletedAt `gorm:"column:delete_at;type:datetime(3);comment:删除时间;default:NULL;" json:"delete_at"`                            // 删除时间
}

func (p *Product) TableName() string {
	return "product"
}
